package main

import (
	"fmt"
	"net/http"
	"time"

	"lucidity.note/app"
	"lucidity.note/app/common/db"
	"lucidity.note/app/common/logger"
	"lucidity.note/app/service"
)

func main() {

	// 初始化日志系统
	logger.InitLog()

	// 初始化数据库链接
	nust := db.InitNustDB(true)
	defer nust.Close()

	// appConfig := service.InitConfigService()
	service.InitConfigService()

	// 路由初始化和注册
	router := app.Router()
	server := &http.Server{
		Addr:         fmt.Sprintf(":%d", 8081),
		Handler:      router,
		ReadTimeout:  5 * time.Second,
		WriteTimeout: 20 * time.Second,
	}

	server.ListenAndServe()

	/////// window 下暂时无法使用 webview 创建build之后窗口,暂时注释. linux 下是可以使用的
	// 打开模式设置：Window & Server
	// if strings.EqualFold("client", "client") {
	// 	go server.ListenAndServe()

	// 	w := webview.New(true)
	// 	defer w.Destroy()
	// 	// 设置 webview 是否开启调试模式
	// 	w.SetTitle(appConfig.AppInternalConf.LucidityNote.Title)
	// 	// 设置 webview 的窗体
	// 	w.SetSize(appConfig.AppearanceConf.AppWidth, appConfig.AppearanceConf.AppHeight, webview.Hint(appConfig.AppearanceConf.AppResize))
	// 	// 设置软件启动访问的地址
	// 	navigateUrl := fmt.Sprintf("http://%s:%d/%s", appConfig.AppInternalConf.LucidityNote.Host, 8081, appConfig.AppInternalConf.LucidityNote.Router)
	// 	w.Navigate(navigateUrl)
	// 	w.Run()
	// } else {
	// 	server.ListenAndServe()
	// }
}
